package com.link.base.base.coupons.service;

import com.link.base.base.coupons.model.CollectRecord;
import com.link.core.basic.service.BasicService;

import java.util.List;

/**
 * <p>优惠券-优惠券领取记录</p>
 * @author 汪大伟
 * @date 2018/6/8
 */

public interface CollectRecordService extends BasicService<CollectRecord> {

    /**
     * Description app端可用优惠列表筛选
     * @author 汪大伟
     * @param entity
     * @return
     * @throws Exception
     * @date 2018/6/8
     */
    public List<CollectRecord> queryOrderByExamplePage(CollectRecord entity) throws Exception;

    /**
     * 查询指定红包记录数量
     *
     * @param collectRecord
     * @return Integer 查询总条数
     * @throws Exception
     */
    public Integer queryByCollect(CollectRecord collectRecord) throws Exception;

    /**
     * 批量更新已领取优惠券的微信code
     * @author KuangRuifeng
     * @date 2018年12月4日
     * @param collectRecords 优惠券列表
     * @throws Exception 异常
     */
    void updWeChatCodes(List<CollectRecord> collectRecords) throws Exception;

    /**
     * 更新优惠券提醒的状态
     * @author KuangRuifeng
     * @date 2018年12月13日
     * @param collectRecord 优惠券列表
     * @throws Exception 异常
     */
    void updateNoticed(CollectRecord collectRecord) throws Exception;

    /**
     * 无登陆修改卡券领取记录
     * @param collectRecord
     * @throws Exception
     */
    void collectRecordUpdateByInterface(CollectRecord collectRecord) throws Exception;

    /**
     * 查询优惠券领取记录监控列表
     * @param record
     * @return
     * @throws Exception
     */
    public List<CollectRecord> queryListPage(CollectRecord record) throws Exception;

    /**
     * 查询优惠券领取记录监控详情
     * @param record
     * @return
     * @throws Exception
     */
    public CollectRecord queryDetailById(CollectRecord record) throws Exception;
}
